#pragma once

#include "event/EventArgs.h"

//#ifdef V12_OS_MSVC
#include "event/args/win32/Win32EventArgs.h"
//#else
//#include "args/SystemEventArgs.h"//tmp here
//#endif

#include "event/args/DrawEventArgs.h"
#include "event/args/CanvasChangedEventArgs.h"

#include "event/ISystemEvent.h"
#include "event/ICanvasEvent.h"

inline ISystemEvent* getSystemEvent()
{
	sys::ObjectPtr objEvent;
	objEvent.CreateObject(CLSID_SystemEvent);
	return sys::InterfacePtr<ISystemEvent>(objEvent);
}

inline ICanvasEvent* getCanvasEvent()
{
	sys::ObjectPtr objEvent;
	objEvent.CreateObject(CLSID_CanvasEvent);
	return sys::InterfacePtr<ICanvasEvent>(objEvent);
}